package com.ruoyi.wb.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "维保计划dto", description = "维保计划实体")
public class WbPlanDto implements Serializable {


    @ApiModelProperty(value = "批量选择月")
    private List<String> selectMonths;

    @ApiModelProperty(value = "维保 id")
    private Long planId;

    @ApiModelProperty(value = "客户 id")
    private Long clientId;

    @ApiModelProperty(value = "客户名")
    private String clientName;

    @ApiModelProperty(value = "客户地址")
    private String clientAddress;

    @ApiModelProperty(value = "计划类型(可多选)，月、季度、半年、整年")
    private String planType;

    @ApiModelProperty(value = "计划名称")
    private String planName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "计划开始时间(yyyy-MM-dd)")
    private Date planStartDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "计划结束时间")
    private Date planEndDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "实际执行维保开始时间")
    private Date execStartTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "实际执行维保结束时间")
    private Date execEndTime;

    @ApiModelProperty(value = "合同 id")
    private Long contractId;

    @ApiModelProperty(value = "维保单位 id")
    private Long wbCompanyId;

    @ApiModelProperty(value = "维保单位")
    private String wbCompanyName;

    @ApiModelProperty(value = "任务数")
    private Long contentNum;

    @ApiModelProperty(value = "待执行数")
    private Long executory;

    @ApiModelProperty(value = "负责人 id")
    private String projectPrincipalId;

    @ApiModelProperty(value = "负责人项目")
    private String projectPrincipalName;

    @ApiModelProperty(value = "技术负责人 id")
    private Long technololyPrincipalId;

    @ApiModelProperty(value = "技术负责人姓名")
    private String technololyPrincipalName;

    @ApiModelProperty(value = "操作者 id")
    private Long operaterId;

    @ApiModelProperty(value = "操作者姓名")
    private String operaterName;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "完成时间")
    private Date finishTime;

    @ApiModelProperty(value = "凭条")
    private String entrySlip;

    @ApiModelProperty(value = "现场照片")
    private String sitePhoto;

    @Excel(name = "消防师 id")
    @ApiModelProperty(value = "消防师 id")
    private Long fireFightingId;

    @ApiModelProperty(value = "消防师姓名")
    private String fireFightingName;

    @ApiModelProperty(value = "工程师 id")
    private Long engineerId;

    @ApiModelProperty(value = "工程师姓名")
    private String engineerName;

    @ApiModelProperty(value = "类目")
    private List<WbPlanClassifyDto>classifyList;

    @ApiModelProperty(value = "执行状态")
    private Integer execStatus;
    /** 消防师签名 */
    @ApiModelProperty(value = "消防师签名")
    private String firemenSignature;

    /** 工程师签名 */
    @ApiModelProperty(value = "工程师签名")
    private String engineerSignature;

    /** 其他 */
    @Excel(name = "其他")
    private String rests;

    /** 培训 */
    @Excel(name = "培训")
    private String train;

    /** 问题汇总 */
    @Excel(name = "问题汇总")
    private String collect;

    /** 材料清单 */
    @Excel(name = "材料清单")
    private String inventory;

    /** 建议方案 */
    @Excel(name = "建议方案")
    private String scheme;


    /** 设施名称 */
    @Excel(name = "设施名称")
    private String facilityName;

    /** 应用场所 */
    @Excel(name = "应用场所")
    private String applicationPlace;

    /** 检测类别 */
    @Excel(name = "检测类别")
    private String detectCategory;

    /** 应用场所地址 */
    @Excel(name = "应用场所地址")
    private String applicationPlaceAddr;

    /** 复检时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "复检时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reinspectionTime;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String contactNumber;

    /** 备案编号 */
    @Excel(name = "备案编号")
    private String recordNumber;

    /** 备案时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "备案时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date filingTime;

    /** 设施列表 */
    @Excel(name = "设施列表")
    private String listOfFacilities;

    /** 检测编号 */
    @Excel(name = "检测编号")
    private String detectionNumber;


}